﻿using System;
using System.Collections.Generic;
using System.Text;

namespace JacketEmblem.Crane.HtmlDom
{
    public static class HtmlAttributeNames
    {
        #region HTML 4.01 attributes
        public static readonly string AbbrAttributeName = "abbr";
        public static readonly string AcceptCharsetAttributeName = "accept-charset";
        public static readonly string AcceptAttributeName = "accept";
        public static readonly string AccessKeyAttributeName = "accesskey";
        public static readonly string ActionAttributeName = "action";
        public static readonly string AlignAttributeName = "align";
        public static readonly string ALinkAttributeName = "alink";
        public static readonly string AltAttributeName = "alt";
        public static readonly string ArchiveAttributeName = "archive";
        public static readonly string AxisAttributeName = "axis";
        public static readonly string BackgroundAttributeName = "background";
        public static readonly string BgColorAttributeName = "bgcolor";
        public static readonly string BorderAttributeName = "border";
        public static readonly string CellPaddingAttributeName = "cellpadding";
        public static readonly string CellSpacingAttributeName = "cellspacing";
        public static readonly string CharAttributeName = "char";
        public static readonly string CharOffAttributeName = "charoff";
        public static readonly string CharsetAttributeName = "charset";
        public static readonly string CheckedAttributeName = "checked";
        public static readonly string CiteAttributeName = "cite";
        public static readonly string ClassAttributeName = "class";
        public static readonly string ClassIdAttributeName = "classid";
        public static readonly string ClearAttributeName = "clear";
        public static readonly string CodeAttributeName = "code";
        public static readonly string CodeBaseAttributeName = "codebase";
        public static readonly string CodeTypeAttributeName = "codetype";
        public static readonly string ColorAttributeName = "color";
        public static readonly string ColsAttributeName = "cols";
        public static readonly string ColSpanAttributeName = "colspan";
        public static readonly string CompactAttributeName = "compact";
        public static readonly string ContentAttributeName = "content";
        public static readonly string CoordsAttributeName = "coords";
        public static readonly string DataAttributeName = "data";
        public static readonly string DateTimeAttributeName = "datetime";
        public static readonly string DeclareAttributeName = "declare";
        public static readonly string DeferAttributeName = "defer";
        public static readonly string DirAttributeName = "dir";
        public static readonly string DisabledAttributeName = "disabled";
        public static readonly string EncTypeAttributeName = "enctype";
        public static readonly string FaceAttributeName = "face";
        public static readonly string ForAttributeName = "for";
        public static readonly string FrameAttributeName = "frame";
        public static readonly string FrameBorderAttributeName = "frameborder";
        public static readonly string HeadersAttributeName = "headers";
        public static readonly string HeightAttributeName = "height";
        public static readonly string HrefAttributeName = "href";
        public static readonly string HrefLangAttributeName = "hreflang";
        public static readonly string HSpaceAttributeName = "hspace";
        public static readonly string HttpEquivAttributeName = "http-equiv";
        public static readonly string IdAttributeName = "id";
        public static readonly string IsMapAttributeName = "ismap";
        public static readonly string LabelAttributeName = "label";
        public static readonly string LangAttributeName = "lang";
        public static readonly string LanguageAttributeName = "language";
        public static readonly string LinkAttributeName = "link";
        public static readonly string LongDescAttributeName = "longdesc";
        public static readonly string MarginHeightAttributeName = "marginheight";
        public static readonly string MarginWidthAttributeName = "marginwidth";
        public static readonly string MaxLengthAttributeName = "maxlength";
        public static readonly string MediaAttributeName = "media";
        public static readonly string MethodAttributeName = "method";
        public static readonly string MultipleAttributeName = "multiple";
        public static readonly string NameAttributeName = "name";
        public static readonly string NoHrefAttributeName = "nohref";
        public static readonly string NoResizeAttributeName = "noresize";
        public static readonly string NoShadeAttributeName = "noshade";
        public static readonly string NoWrapAttributeName = "nowrap";
        public static readonly string ObjectAttributeName = "object";
        public static readonly string ProfileAttributeName = "profile";
        public static readonly string PromptAttributeName = "prompt";
        public static readonly string ReadOnlyAttributeName = "readonly";
        public static readonly string RelAttributeName = "rel";
        public static readonly string RevAttributeName = "rev";
        public static readonly string RowsAttributeName = "rows";
        public static readonly string RowSpanAttributeName = "rowspan";
        public static readonly string RulesAttributeName = "rules";
        public static readonly string SchemeAttributeName = "scheme";
        public static readonly string ScopeAttributeName = "scope";
        public static readonly string ScrollingAttributeName = "scrolling";
        public static readonly string SelectedAttributeName = "selected";
        public static readonly string ShapeAttributeName = "shape";
        public static readonly string SizeAttributeName = "size";
        public static readonly string SpanAttributeName = "span";
        public static readonly string SrcAttributeName = "src";
        public static readonly string StandbyAttributeName = "standby";
        public static readonly string StartAttributeName = "start";
        public static readonly string StyleAttributeName = "style";
        public static readonly string SummaryAttributeName = "summary";
        public static readonly string TabIndexAttributeName = "tabindex";
        public static readonly string TargetAttributeName = "target";
        public static readonly string TextAttributeName = "text";
        public static readonly string TitleAttributeName = "title";
        public static readonly string TypeAttributeName = "type";
        public static readonly string UseMapAttributeName = "usemap";
        public static readonly string VAlignAttributeName = "valign";
        public static readonly string ValueAttributeName = "value";
        public static readonly string ValueTypeAttributeName = "valuetype";
        public static readonly string VersionAttributeName = "version";
        public static readonly string VLinkAttributeName = "vlink";
        public static readonly string VSpaceAttributeName = "vspace";
        public static readonly string WidthAttributeName = "width";
        #endregion

        #region HTML 4.01 event attributes
        public static readonly string OnBlurAttributeName = "onblur";
        public static readonly string OnChangeAttributeName = "onchange";
        public static readonly string OnClickAttributeName = "onclick";
        public static readonly string OnDblClickAttributeName = "ondblclick";
        public static readonly string OnFocusAttributeName = "onfocus";
        public static readonly string OnKeyDownAttributeName = "onkeydown";
        public static readonly string OnKeyPressAttributeName = "onkeypress";
        public static readonly string OnKeyUpAttributeName = "onkeyup";
        public static readonly string OnLoadAttributeName = "onload";
        public static readonly string OnMouseDownAttributeName = "onmousedown";
        public static readonly string OnMouseMoveAttributeName = "onmousemove";
        public static readonly string OnMouseOutAttributeName = "onmouseout";
        public static readonly string OnMouseOverAttributeName = "onmouseover";
        public static readonly string OnMouseUpAttributeName = "onmouseup";
        public static readonly string OnResetAttributeName = "onreset";
        public static readonly string OnSelectAttributeName = "onselect";
        public static readonly string OnSubmitAttributeName = "onsubmit";
        public static readonly string OnUnloadAttributeName = "onunload";
        #endregion

        #region HTML 5 attributes (these are disabled for now)
        // public static readonly string AsyncAttributeName = "async";
        // public static readonly string AutoCompleteAttributeName = "autocomplete";
        // public static readonly string AutoFocusAttributeName = "autofocus";
        // public static readonly string AutoPlayAttributeName = "autoplay";
        // public static readonly string ChallengeAttributeName = "challenge";
        // public static readonly string ContentEditableAttributeName = "contenteditable";
        // public static readonly string ContextMenuAttributeName = "contextmenu";
        // public static readonly string ControlsAttributeName = "controls";
        // public static readonly string DraggableAttributeName = "draggable";
        // public static readonly string FormactionAttributeName = "formaction";
        // public static readonly string FormEncTypeAttributeName = "formenctype";
        // public static readonly string FormMethodAttributeName = "formmethod";
        // public static readonly string FormNoValidateAttributeName = "formnovalidate";
        // public static readonly string FormTargetAttributeName = "formtarget";
        // public static readonly string HiddenAttributeName = "hidden";
        // public static readonly string HighAttributeName = "high";
        // public static readonly string IconAttributeName = "icon";
        // public static readonly string KeyTypeAttributeName = "keytype";
        // public static readonly string ListAttributeName = "list";
        // public static readonly string LoopAttributeName = "loop";
        // public static readonly string LowAttributeName = "low";
        // public static readonly string ManifestAttributeName = "manifest";
        // public static readonly string MaxAttributeName = "max";
        // public static readonly string MinAttributeName = "min";
        // public static readonly string NoValidateAttributeName = "novalidate";
        // public static readonly string OpenAttributeName = "open";
        // public static readonly string OptimumAttributeName = "optimum";
        // public static readonly string PatternAttributeName = "pattern";
        // public static readonly string PingAttributeName = "ping";
        // public static readonly string PlaceHolderAttributeName = "placeholder";
        // public static readonly string PosterAttributeName = "poster";
        // public static readonly string PreloadAttributeName = "preload";
        // public static readonly string PubDateAttributeName = "pubdate";
        // public static readonly string RadioGroupAttributeName = "radiogroup";
        // public static readonly string RequiredAttributeName = "required";
        // public static readonly string ReversedAttributeName = "reversed";
        // public static readonly string SandboxAttributeName = "sandbox";
        // public static readonly string SpellCheckAttributeName = "spellcheck";
        // public static readonly string ScopedAttributeName = "scoped";
        // public static readonly string SeamlessAttributeName = "seamless";
        // public static readonly string SizesAttributeName = "sizes";
        // public static readonly string SrcDocAttributeName = "srcdoc";
        // public static readonly string StepAttributeName = "step";
        // public static readonly string WrapAttributeName = "wrap";
        #endregion

        #region HTML 5 event attributes (these are disabled for now)
        // public static readonly string OnAbortAttributeName = "onabort";
        // public static readonly string OnAfterPrintAttributeName = "onafterprint";
        // public static readonly string OnBeforePrintAttributeName = "onbeforeprint";
        // public static readonly string OnBeforeUnloadAttributeName = "onbeforeunload";
        // public static readonly string OnCanPlayAttributeName = "oncanplay";
        // public static readonly string OnCanPlayThroughAttributeName = "oncanplaythrough";
        // public static readonly string OnContextMenuAttributeName = "oncontextmenu";
        // public static readonly string OnDragAttributeName = "ondrag";
        // public static readonly string OnDragEndAttributeName = "ondragend";
        // public static readonly string OnDragEnterAttributeName = "ondragenter";
        // public static readonly string OnDragLeaveAttributeName = "ondragleave";
        // public static readonly string OnDragOverAttributeName = "ondragover";
        // public static readonly string OnDragStartAttributeName = "ondragstart";
        // public static readonly string OnDropAttributeName = "ondrop";
        // public static readonly string OnDurationChangeAttributeName = "ondurationchange";
        // public static readonly string OnEmptiedAttributeName = "onemptied";
        // public static readonly string OnEndedAttributeName = "onended";
        // public static readonly string OnErrorAttributeName = "onerror";
        // public static readonly string OnFocusAttributeName = "onfocus";
        // public static readonly string OnFormChangeAttributeName = "onformchange";
        // public static readonly string OnFormInputAttributeName = "onforminput";
        // public static readonly string OnHashChangeAttributeName = "onhashchange";
        // public static readonly string OnInputAttributeName = "oninput";
        // public static readonly string OnInvalidAttributeName = "oninvalid";
        // public static readonly string OnLoadedDataAttributeName = "onloadeddata";
        // public static readonly string OnLoadedMetadataAttributeName = "onloadedmetadata";
        // public static readonly string OnLoadStartAttributeName = "onloadstart";
        // public static readonly string OnMessageAttributeName = "onmessage";
        // public static readonly string OnMouseWheelAttributeName = "onmousewheel";
        // public static readonly string OnOfflineAttributeName = "onoffline";
        // public static readonly string OnOnlineAttributeName = "ononline";
        // public static readonly string OnPauseAttributeName = "onpause";
        // public static readonly string OnPlayAttributeName = "onplay";
        // public static readonly string OnPlayingAttributeName = "onplaying";
        // public static readonly string OnPageHideAttributeName = "onpagehide";
        // public static readonly string OnPageShowAttributeName = "onpageshow";
        // public static readonly string OnPopStateAttributeName = "onpopstate";
        // public static readonly string OnProgressAttributeName = "onprogress"; 
        // public static readonly string OnRateChangeAttributeName = "onratechange";
        // public static readonly string OnReadyStateChangeAttributeName = "onreadystatechange";
        // public static readonly string OnRedoAttributeName = "onredo"; 
        // public static readonly string OnScrollAttributeName = "onscroll";
        // public static readonly string OnSeekingAttributeName = "onseeking";
        // public static readonly string OnShowAttributeName = "show";
        // public static readonly string OnStorageAttributeName = "onstorage";
        // public static readonly string OnSuspendAttributeName = "onsuspend";
        // public static readonly string OnTimeUpdateAttributeName = "ontimeupdate";
        // public static readonly string OnUndoAttributeName = "onundo";
        // public static readonly string OnUnloadAttributeName = "onunload";
        // public static readonly string OnVolumeChangeAttributeName = "onvolumechange";
        // public static readonly string OnWaitingAttributeName = "onwaiting";
        #endregion
    }
}
